/*
 * Copyright (C) 2017 yixun All Rights Reserved.
 * 
 * Department.java
 */
package com.emm.yixun.common.model;
import java.io.Serializable;

import com.alibaba.fastjson.annotation.JSONField;
import java.util.Date;

/**
 * [文件名称]<br>
 * Department.java<br>
 * <br>
 * [文件描述]<br>
 * 部门表 pojo bean<br>
 * <br>
 * [修改记录]<br>
 * 2017-06-06 11:26:02 创建<br>
 * @version 1.00
 */
public class Department extends CommonModel implements Serializable{
    /**
	 * 序列化UID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 *主键、自动增长
	 */
	private Long id;
	/**
	 *部门编号，和商户编码挂钩，用于部门数据权限控制
	 */
	private String departmentCode;
	/**
	 *权限编码
	 */
	private String permissionCode;
	/**
	 *上级公司编码
	 */
	private String subcompanyCode;
	/**
	 *部门类别定义（集团公司部门0，区域公司部门1，城市公司部门2，项目公司部门3）
	 */
	private String departmentcategory;
	/**
	 *上级部门id，如果为0则为顶级部门
	 */
	private Long parentId;
	/**
	 *部门名称
	 */
	private String departmentName;
	/**
	 *排序编号，用于排序
	 */
	private String sort;
	/**
	 *备注
	 */
	private String remark;
	/**
	 *商户ID
	 */
	private Long merchantId;
	/**
	 *创建人ID,关联用户表
	 */
	private Long createUserId;
	/**
	 *创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**
	 *修改人ID,关联用户表
	 */
	private Long updateUserId;
	/**
	 *修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date updateTime;
	/**
	 *是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	private String delFlag;
	/**
	 *是否封存 1代表封存 0 未封存
	 */
	private String canceled;
	
	/**	 
	 *设置 :主键、自动增长
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**	 
	 *获取 :主键、自动增长
	 */
	public Long getId() {
		return this.id;
	}

	/**	 
	 *设置 :部门编号，和商户编码挂钩，
用于部门数据权限控制
	 */
	public void setDepartmentCode(String departmentCode) {
		this.departmentCode = departmentCode;
	}

	/**	 
	 *获取 :部门编号，和商户编码挂钩，
用于部门数据权限控制
	 */
	public String getDepartmentCode() {
		return this.departmentCode;
	}

	/**	 
	 *设置 :权限编码
	 */
	public void setPermissionCode(String permissionCode) {
		this.permissionCode = permissionCode;
	}

	/**	 
	 *获取 :权限编码
	 */
	public String getPermissionCode() {
		return this.permissionCode;
	}

	/**	 
	 *设置 :上级公司编码
	 */
	public void setSubcompanyCode(String subcompanyCode) {
		this.subcompanyCode = subcompanyCode;
	}

	/**	 
	 *获取 :上级公司编码
	 */
	public String getSubcompanyCode() {
		return this.subcompanyCode;
	}

	/**	 
	 *设置 :部门类别定义（集团公司部门0，区域公司部门1，城市公司部门2，项目公司部门3）
	 */
	public void setDepartmentcategory(String departmentcategory) {
		this.departmentcategory = departmentcategory;
	}

	/**	 
	 *获取 :部门类别定义（集团公司部门0，区域公司部门1，城市公司部门2，项目公司部门3）
	 */
	public String getDepartmentcategory() {
		return this.departmentcategory;
	}

	/**	 
	 *设置 :上级部门code，如果为0则为顶级部门
	 */
	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	/**	 
	 *获取 :上级部门code，如果为0则为顶级部门
	 */
	public Long getParentId() {
		return this.parentId;
	}

	/**	 
	 *设置 :部门名称
	 */
	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}

	/**	 
	 *获取 :部门名称
	 */
	public String getDepartmentName() {
		return this.departmentName;
	}

	/**	 
	 *设置 :排序编号，用于排序
	 */
	public void setSort(String sort) {
		this.sort = sort;
	}

	/**	 
	 *获取 :排序编号，用于排序
	 */
	public String getSort() {
		return this.sort;
	}

	/**	 
	 *设置 :备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**	 
	 *获取 :备注
	 */
	public String getRemark() {
		return this.remark;
	}

	/**	 
	 *设置 :商户ID
	 */
	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	/**	 
	 *获取 :商户ID
	 */
	public Long getMerchantId() {
		return this.merchantId;
	}

	/**	 
	 *设置 :创建人ID,关联用户表
	 */
	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}

	/**	 
	 *获取 :创建人ID,关联用户表
	 */
	public Long getCreateUserId() {
		return this.createUserId;
	}

	/**	 
	 *设置 :创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**	 
	 *获取 :创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public Date getCreateTime() {
		return this.createTime;
	}

	/**	 
	 *设置 :修改人ID,关联用户表
	 */
	public void setUpdateUserId(Long updateUserId) {
		this.updateUserId = updateUserId;
	}

	/**	 
	 *获取 :修改人ID,关联用户表
	 */
	public Long getUpdateUserId() {
		return this.updateUserId;
	}

	/**	 
	 *设置 :修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**	 
	 *获取 :修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public Date getUpdateTime() {
		return this.updateTime;
	}

	/**	 
	 *设置 :是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	/**	 
	 *获取 :是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	public String getDelFlag() {
		return this.delFlag;
	}

	/**	 
	 *设置 :是否封存 1代表封存 0 未封存
	 */
	public void setCanceled(String canceled) {
		this.canceled = canceled;
	}

	/**	 
	 *获取 :是否封存 1代表封存 0 未封存
	 */
	public String getCanceled() {
		return this.canceled;
	}

}
